var MyTable={
    searchForm:"searchForm",
    searchUrl:"/dict/list",
	tableId:"lgTable",
	table:null,
	prefix:"/dict/"
};

$(function() {
	selectLoad();
    var defaultColunms = MyTable.initColumn();
    var table = new BSTable(MyTable.tableId, MyTable.searchUrl,defaultColunms);
	table.setQueryParams(getFormJson(MyTable.searchForm));
	table.setSortName("asc");
	table.setSortOrder("num");
	MyTable.table = table.init(0);
});
function reLoad() {
	MyTable.table.refresh(getFormJson(MyTable.searchForm));
}
function resetSearch(){
	cleanFormVal(MyTable.searchForm);
	$("#type").val('');
	$('.chosen-select').trigger('chosen:updated');
	MyTable.table.refresh(null);
}

MyTable.initColumn = function () {
    var columns =  [
    	{
			checkbox : true
		},
		{
			field : 'id',
			title : '编号'
		},
		{
			field : 'name',
			title : '标签名'
		},
		{
			field : 'value',
			title : '数据值',
			width : '100px'
		},
		{
			field : 'type',
			title : '类型'
		},
		{
			field : 'description',
			title : '描述'
		},
		{
			visible : false,
			field : 'sort',
			title : '排序（升序）'
		},
		{
			visible : false,
			field : 'parentId',
			title : '父级编号'
		},
		{
			visible : false,
			field : 'gmtCreate',
			title : '创建时间'
		},
		{
			visible : false,
			field : 'gmtModified',
			title : '更新时间'
		},
		{
			visible : false,
			field : 'remarks',
			title : '备注信息'
		},
		{
			visible : false,
			field : 'delFlag',
			title : '删除标记'
		},
		{
			title : '操作',
			field : 'id',
			align : 'center',
			formatter : function(value, row, index) {
				var e = '<a  class="btn btn-primary btn-sm ' + editBtn + '" href="#" mce_href="#" title="编辑" onclick="edit(\''
				+ row.id
				+ '\')"><i class="fa fa-edit "></i></a> ';
			var d = '<a class="btn btn-warning btn-sm ' + delBtn + '" href="#" title="删除"  mce_href="#" onclick="delRow(\''
				+ row.id
				+ '\')"><i class="fa fa-remove"></i></a> ';
			var a = '<a class="btn btn-success btn-sm ' + addBtn + '" href="#" title="新增"  mce_href="#" onclick="add(\''
			+ row.id
			+ '\')"><i class="fa fa-plus"></i></a> ';
			return e + d+ a;
			}
		} ];
    return columns;
};


function add(id) {
	layer.open({
		type : 2,
		title : '创建基础数据',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '600px' ],
		content : MyTable.prefix + '/add/'+id
	});
}

function edit(id) {
	layer.open({
		type : 2,
		title : '修改基础数据',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : MyTable.prefix+'/edit/'+id
	});
}

function delRow(id){
    var config={
			url : MyTable.prefix+"/deleteRow",
			data:{"id":id},
			sureDo:true,
			msg:"确定删除记录？"
	}
	EasyAjax.post_json(config,function(r){
		layer.msg(r.msg);
		if (r.code == 0){
			reLoad();
			selectLoad();
		} 
	});
}

function delRows(){
	var rows=checkSelect();
	if(!rows)
	return;
    var config={
			url : MyTable.prefix+"/deleteRows",
			data: {"ids" : rows},
			sureDo:true,
			msg:"确定删除记录？"
	}
	EasyAjax.post(config,function(r){
		layer.msg(r.msg);
		if (r.code == 0){
			reLoad();
			selectLoad();
		} 
	});
}

function checkSelect(){
	var rows = $('#'+MyTable.tableId).bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要删除的数据");
		return null;
	}else{
		var ids = new Array();
		$.each(rows, function(i, row) {
			ids[i] = row.id;
		});
		return ids;
	}
}

function selectLoad() {
	var html = "<option value=''>选择类别</option>";
    var config={url :  MyTable.prefix+'type',}
	EasyAjax.post(config,function(data){
		$("#type").empty();
		for (var i = 0; i < data.length; i++) {
			html += '<option value="' + data[i].type + '">' + data[i].description + '</option>'
		}
		$(".chosen-select").append(html);
		$(".chosen-select").chosen({
			maxHeight : 200
		});
		$('.chosen-select').trigger('chosen:updated');
		//点击事件
		$('.chosen-select').off("change").on('change', function(e, params) {
			reLoad();
	    });
    })
}